<?php

class Remito extends CI_Controller {

    function __construct() {
        parent::__construct();
        $this->load->helper('form');
        $this->load->model('Empleado_model');
        $this->load->model('Tarea_Model');
        $this->load->model('Remito_Model');
        $this->load->library('form_validation');
        $this->load->library('fecha_conver');
    }

    function index($algo=false) {
        $data['title'] = 'Alta de  Remitos';
        $data['empleado'] = $this->Empleado_model->getEmpleados();
        $data['tarea'] = $this->Tarea_Model->getTareas();
        $data['main_content'] = 'remito_view';
        $data['mensaje']=$algo;
        $this->load->view('includes/template', $data);
    }

    function validarRemito() {

        $this->form_validation->set_rules('remito', 'Numero de Remito', 'required|trim|numeric|callback__remitoExist');
        $this->form_validation->set_rules('origen', 'Origen del Remito', 'required|trim|alpha_numeric');
        $this->form_validation->set_rules('destino', 'Destino del Remito', 'required|trim|alpha_numeric');
        $this->form_validation->set_rules('datepicker', 'Fecha del Remito', 'required|trim');
        $this->form_validation->set_message('required', 'Campo Requerido');
        $this->form_validation->set_message('numeric', 'Ingresar solo Numeros');
        $this->form_validation->set_message('alpha_numeric', 'Ingresar solo Letras o numeros');
        $this->form_validation->set_message('_controlSelect', 'Debe elegir una opcion');
        $this->form_validation->set_message('_remitoExist', 'El remito ya existe');
        
        $var1= $this->input->post('comboEmpleado1');
        $var2= $this->input->post('comboEmpleado2');
        $var3= $this->input->post('comboEmpleado3');
        $var4= $this->input->post('comboEmpleado4');
              
        $listaEmpleados=array($var1,$var2,$var3,$var4);
           
        $tar1=$this->input->post('comboTarea1');
        $tar2=$this->input->post('comboTarea2');
        $tar3=$this->input->post('comboTarea3');
        $tar4=$this->input->post('comboTarea4');
           
        $listaTareas=array($tar1,$tar2,$tar3,$tar4);
        
        $vacio1=$this->verificarContenidoComboTarea($listaTareas);
        $vacio2=$this->verificarContenidoCombEmp($listaEmpleados);
        
        if ($this->form_validation->run() == FALSE ) {

            $this->index();
        } else {
            if($vacio1==false || $vacio2==false){
                $this->index("Verifique que este completo los empleados y los trabajos");
            }else{
            $var1= $this->input->post('comboEmpleado1');
            $var2= $this->input->post('comboEmpleado2');
            $var3= $this->input->post('comboEmpleado3');
            $var4= $this->input->post('comboEmpleado4');
              
           $listaEmpleados=array($var1,$var2,$var3,$var4);
           
           $tar1=$this->input->post('comboTarea1');
           $tar2=$this->input->post('comboTarea2');
           $tar3=$this->input->post('comboTarea3');
           $tar4=$this->input->post('comboTarea4');
           
           $listaTareas=array($tar1,$tar2,$tar3,$tar4);
            $remito= $this->input->post('remito');
            $origen= $this->input->post('origen');
            $destino= $this->input->post('destino');
            $fecha= $this->input->post('datepicker');
            $fechaConv=$this->fecha_conver->cambiaf_a_mysql($fecha); // Esta funcion este en la libreria Fecha_conver

            $this->altaRemito($remito, $origen, $destino, $fechaConv, $listaEmpleados,$listaTareas);
        }
        
        }
            
            

    }
           
        
    

    function altaRemito($idRemito, $origen, $destino, $date, $lista1, $lista2) {
        $this->load->model('Remito_Model');
        $this->load->model('Tarea_Empleado_Model');
        $this->Remito_Model->agregarRemito($idRemito, $origen, $destino, $date);
        $this->Tarea_Empleado_Model->agregarEmpleadoTarea($lista1, $lista2, $idRemito);
        redirect(site_url('rollo/index/'.$idRemito));
    }

    function bajaRemito() {
        
    }

    function setOrigen() {
        
    }

    function getOrigen() {
        
    }

    function setDestino() {
        
    }

    function getDestino() {
        
    }

    function verificarContenidoComboTarea($lista1) {
      $algo=true;
        foreach($lista1 as $valor){
           if($valor==-1){
               $algo=false;
               break;
           }
        }
       return $algo;
    }

    function verificarContenidoCombEmp($lista2) {
        $algo=true;
        foreach($lista2 as $valor){
           if($valor==-1){
               $algo=false;
               break;
           }
        }
         return $algo;
    }
    
    function _controlSelect($combo){
        if($combo==-1){
            return false;
        }else{
            return true;
        }
    }
    
    function _remitoExist($remito){
        return $this->Remito_Model->remitoExist($remito);
    }
    
}

?>